package com.ruoyi.web.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 币种对象 currency
 * 
 * @author ruoyi
 * @date 2022-12-30
 */
public class Currency extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 币种名称 */
    @Excel(name = "币种名称")
    private String name;

    /** 精度 */
    @Excel(name = "精度")
    private Long accuracy;

    /** 状态（1：开启，2：禁用） */
    @Excel(name = "状态", readConverterExp = "1=：开启，2：禁用")
    private String state;

    /** 公链 */
    @Excel(name = "公链")
    private String publicChain;

    /** 手续费地址 */
    @Excel(name = "手续费地址")
    private String serviceChargeAddress;

    /** 手续费私钥 */
    @Excel(name = "手续费私钥")
    private String serviceChargePrivateKey;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal serviceCharge;

    /** 最小充值金额 */
    @Excel(name = "最小充值金额")
    private BigDecimal minimumRechargeAmount;

    /** 最小提现金额 */
    @Excel(name = "最小提现金额")
    private BigDecimal minimumWithdrawalAmount;

    /** 单日最大提现金额 */
    @Excel(name = "单日最大提现金额")
    private BigDecimal maximumWithdrawalAmountPerDay;

    /** 充值区块确认数 */
    @Excel(name = "充值区块确认数")
    private String confirmationBlockRechargeNumber;

    /** 节点地址 */
    @Excel(name = "节点地址")
    private String nodeAddress;

    /** 智能合约地址 */
    @Excel(name = "智能合约地址")
    private String smartContractAddress;

    /** apikey */
    @Excel(name = "apikey")
    private String apiKey;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setAccuracy(Long accuracy) 
    {
        this.accuracy = accuracy;
    }

    public Long getAccuracy() 
    {
        return accuracy;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setPublicChain(String publicChain) 
    {
        this.publicChain = publicChain;
    }

    public String getPublicChain() 
    {
        return publicChain;
    }
    public void setServiceChargeAddress(String serviceChargeAddress) 
    {
        this.serviceChargeAddress = serviceChargeAddress;
    }

    public String getServiceChargeAddress() 
    {
        return serviceChargeAddress;
    }
    public void setServiceChargePrivateKey(String serviceChargePrivateKey) 
    {
        this.serviceChargePrivateKey = serviceChargePrivateKey;
    }

    public String getServiceChargePrivateKey() 
    {
        return serviceChargePrivateKey;
    }
    public void setServiceCharge(BigDecimal serviceCharge) 
    {
        this.serviceCharge = serviceCharge;
    }

    public BigDecimal getServiceCharge() 
    {
        return serviceCharge;
    }
    public void setMinimumRechargeAmount(BigDecimal minimumRechargeAmount) 
    {
        this.minimumRechargeAmount = minimumRechargeAmount;
    }

    public BigDecimal getMinimumRechargeAmount() 
    {
        return minimumRechargeAmount;
    }
    public void setMinimumWithdrawalAmount(BigDecimal minimumWithdrawalAmount) 
    {
        this.minimumWithdrawalAmount = minimumWithdrawalAmount;
    }

    public BigDecimal getMinimumWithdrawalAmount() 
    {
        return minimumWithdrawalAmount;
    }
    public void setMaximumWithdrawalAmountPerDay(BigDecimal maximumWithdrawalAmountPerDay) 
    {
        this.maximumWithdrawalAmountPerDay = maximumWithdrawalAmountPerDay;
    }

    public BigDecimal getMaximumWithdrawalAmountPerDay() 
    {
        return maximumWithdrawalAmountPerDay;
    }
    public void setConfirmationBlockRechargeNumber(String confirmationBlockRechargeNumber) 
    {
        this.confirmationBlockRechargeNumber = confirmationBlockRechargeNumber;
    }

    public String getConfirmationBlockRechargeNumber() 
    {
        return confirmationBlockRechargeNumber;
    }
    public void setNodeAddress(String nodeAddress) 
    {
        this.nodeAddress = nodeAddress;
    }

    public String getNodeAddress() 
    {
        return nodeAddress;
    }
    public void setSmartContractAddress(String smartContractAddress) 
    {
        this.smartContractAddress = smartContractAddress;
    }

    public String getSmartContractAddress() 
    {
        return smartContractAddress;
    }
    public void setApiKey(String apiKey) 
    {
        this.apiKey = apiKey;
    }

    public String getApiKey() 
    {
        return apiKey;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("accuracy", getAccuracy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("state", getState())
            .append("publicChain", getPublicChain())
            .append("serviceChargeAddress", getServiceChargeAddress())
            .append("serviceChargePrivateKey", getServiceChargePrivateKey())
            .append("serviceCharge", getServiceCharge())
            .append("minimumRechargeAmount", getMinimumRechargeAmount())
            .append("minimumWithdrawalAmount", getMinimumWithdrawalAmount())
            .append("maximumWithdrawalAmountPerDay", getMaximumWithdrawalAmountPerDay())
            .append("confirmationBlockRechargeNumber", getConfirmationBlockRechargeNumber())
            .append("nodeAddress", getNodeAddress())
            .append("smartContractAddress", getSmartContractAddress())
            .append("apiKey", getApiKey())
            .toString();
    }
}
